0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇒, 83 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 0 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 25 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 AND
↳9 PiDP
↳10 UsableRulesProof (⇔, 0 ms)
↳11 PiDP
↳12 PiDPToQDPProof (⇒, 14 ms)
↳13 QDP
↳14 QDPSizeChangeProof (⇔, 0 ms)
↳15 YES
↳16 PiDP
↳17 UsableRulesProof (⇔, 0 ms)
↳18 PiDP
↳19 PiDPToQDPProof (⇒, 0 ms)
↳20 QDP
↳21 Instantiation (⇔, 0 ms)
↳22 QDP
↳23 Instantiation (⇔, 0 ms)
↳24 QDP
↳25 QDPOrderProof (⇔, 45 ms)
↳26 QDP
↳27 DependencyGraphProof (⇔, 0 ms)
↳28 TRUE
↳29 PiDP
↳30 UsableRulesProof (⇔, 0 ms)
↳31 PiDP
↳32 PiDPToQDPProof (⇔, 0 ms)
↳33 QDP
↳34 QDPSizeChangeProof (⇔, 0 ms)
↳35 YES
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T10, []), .(T10, T17)) → U2_gg(T10, T17, starB_in_gg(.(T10, []), T17))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_gg(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
appA_in_gag([], T38, T38) → appA_out_gag([], T38, T38)
appA_in_gag(.(T45, T46), X73, .(T45, T47)) → U1_gag(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
U1_gag(T45, T46, X73, T47, appA_out_gag(T46, X73, T47)) → appA_out_gag(.(T45, T46), X73, .(T45, T47))
U3_gg(T10, T26, T27, T28, appA_out_gag(T27, X40, T28)) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_gg(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_gg(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_gg(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U5_gg(T10, T26, T27, T28, starB_out_gg(.(T10, .(T26, T27)), .(T26, T28))) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
U2_gg(T10, T17, starB_out_gg(.(T10, []), T17)) → starB_out_gg(.(T10, []), .(T10, T17))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T10, []), .(T10, T17)) → U2_gg(T10, T17, starB_in_gg(.(T10, []), T17))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_gg(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
appA_in_gag([], T38, T38) → appA_out_gag([], T38, T38)
appA_in_gag(.(T45, T46), X73, .(T45, T47)) → U1_gag(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
U1_gag(T45, T46, X73, T47, appA_out_gag(T46, X73, T47)) → appA_out_gag(.(T45, T46), X73, .(T45, T47))
U3_gg(T10, T26, T27, T28, appA_out_gag(T27, X40, T28)) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_gg(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_gg(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_gg(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U5_gg(T10, T26, T27, T28, starB_out_gg(.(T10, .(T26, T27)), .(T26, T28))) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
U2_gg(T10, T17, starB_out_gg(.(T10, []), T17)) → starB_out_gg(.(T10, []), .(T10, T17))
STARB_IN_GG(.(T10, []), .(T10, T17)) → U2_GG(T10, T17, starB_in_gg(.(T10, []), T17))
STARB_IN_GG(.(T10, []), .(T10, T17)) → STARB_IN_GG(.(T10, []), T17)
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_GG(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → APPA_IN_GAG(T27, X40, T28)
APPA_IN_GAG(.(T45, T46), X73, .(T45, T47)) → U1_GAG(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
APPA_IN_GAG(.(T45, T46), X73, .(T45, T47)) → APPA_IN_GAG(T46, X73, T47)
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_GG(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_GG(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_GG(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U4_GG(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → STARB_IN_GG(.(T10, .(T26, T27)), .(T26, T28))
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T10, []), .(T10, T17)) → U2_gg(T10, T17, starB_in_gg(.(T10, []), T17))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_gg(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
appA_in_gag([], T38, T38) → appA_out_gag([], T38, T38)
appA_in_gag(.(T45, T46), X73, .(T45, T47)) → U1_gag(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
U1_gag(T45, T46, X73, T47, appA_out_gag(T46, X73, T47)) → appA_out_gag(.(T45, T46), X73, .(T45, T47))
U3_gg(T10, T26, T27, T28, appA_out_gag(T27, X40, T28)) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_gg(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_gg(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_gg(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U5_gg(T10, T26, T27, T28, starB_out_gg(.(T10, .(T26, T27)), .(T26, T28))) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
U2_gg(T10, T17, starB_out_gg(.(T10, []), T17)) → starB_out_gg(.(T10, []), .(T10, T17))
STARB_IN_GG(.(T10, []), .(T10, T17)) → U2_GG(T10, T17, starB_in_gg(.(T10, []), T17))
STARB_IN_GG(.(T10, []), .(T10, T17)) → STARB_IN_GG(.(T10, []), T17)
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_GG(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → APPA_IN_GAG(T27, X40, T28)
APPA_IN_GAG(.(T45, T46), X73, .(T45, T47)) → U1_GAG(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
APPA_IN_GAG(.(T45, T46), X73, .(T45, T47)) → APPA_IN_GAG(T46, X73, T47)
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_GG(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_GG(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_GG(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U4_GG(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → STARB_IN_GG(.(T10, .(T26, T27)), .(T26, T28))
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T10, []), .(T10, T17)) → U2_gg(T10, T17, starB_in_gg(.(T10, []), T17))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_gg(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
appA_in_gag([], T38, T38) → appA_out_gag([], T38, T38)
appA_in_gag(.(T45, T46), X73, .(T45, T47)) → U1_gag(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
U1_gag(T45, T46, X73, T47, appA_out_gag(T46, X73, T47)) → appA_out_gag(.(T45, T46), X73, .(T45, T47))
U3_gg(T10, T26, T27, T28, appA_out_gag(T27, X40, T28)) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_gg(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_gg(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_gg(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U5_gg(T10, T26, T27, T28, starB_out_gg(.(T10, .(T26, T27)), .(T26, T28))) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
U2_gg(T10, T17, starB_out_gg(.(T10, []), T17)) → starB_out_gg(.(T10, []), .(T10, T17))
APPA_IN_GAG(.(T45, T46), X73, .(T45, T47)) → APPA_IN_GAG(T46, X73, T47)
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T10, []), .(T10, T17)) → U2_gg(T10, T17, starB_in_gg(.(T10, []), T17))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_gg(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
appA_in_gag([], T38, T38) → appA_out_gag([], T38, T38)
appA_in_gag(.(T45, T46), X73, .(T45, T47)) → U1_gag(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
U1_gag(T45, T46, X73, T47, appA_out_gag(T46, X73, T47)) → appA_out_gag(.(T45, T46), X73, .(T45, T47))
U3_gg(T10, T26, T27, T28, appA_out_gag(T27, X40, T28)) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_gg(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_gg(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_gg(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U5_gg(T10, T26, T27, T28, starB_out_gg(.(T10, .(T26, T27)), .(T26, T28))) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
U2_gg(T10, T17, starB_out_gg(.(T10, []), T17)) → starB_out_gg(.(T10, []), .(T10, T17))
APPA_IN_GAG(.(T45, T46), X73, .(T45, T47)) → APPA_IN_GAG(T46, X73, T47)
APPA_IN_GAG(.(T45, T46), .(T45, T47)) → APPA_IN_GAG(T46, T47)
From the DPs we obtained the following set of size-change graphs:
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_GG(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_GG(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → STARB_IN_GG(.(T10, .(T26, T27)), .(T26, T28))
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T10, []), .(T10, T17)) → U2_gg(T10, T17, starB_in_gg(.(T10, []), T17))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_gg(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
appA_in_gag([], T38, T38) → appA_out_gag([], T38, T38)
appA_in_gag(.(T45, T46), X73, .(T45, T47)) → U1_gag(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
U1_gag(T45, T46, X73, T47, appA_out_gag(T46, X73, T47)) → appA_out_gag(.(T45, T46), X73, .(T45, T47))
U3_gg(T10, T26, T27, T28, appA_out_gag(T27, X40, T28)) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_gg(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_gg(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_gg(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U5_gg(T10, T26, T27, T28, starB_out_gg(.(T10, .(T26, T27)), .(T26, T28))) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
U2_gg(T10, T17, starB_out_gg(.(T10, []), T17)) → starB_out_gg(.(T10, []), .(T10, T17))
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_GG(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_GG(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → STARB_IN_GG(.(T10, .(T26, T27)), .(T26, T28))
appA_in_gag([], T38, T38) → appA_out_gag([], T38, T38)
appA_in_gag(.(T45, T46), X73, .(T45, T47)) → U1_gag(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
U1_gag(T45, T46, X73, T47, appA_out_gag(T46, X73, T47)) → appA_out_gag(.(T45, T46), X73, .(T45, T47))
STARB_IN_GG(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_GG(T10, T26, T27, T28, appA_in_gag(T27, T28))
U4_GG(T10, T26, T27, T28, appA_out_gag(T31)) → STARB_IN_GG(.(T10, .(T26, T27)), .(T26, T28))
appA_in_gag([], T38) → appA_out_gag(T38)
appA_in_gag(.(T45, T46), .(T45, T47)) → U1_gag(appA_in_gag(T46, T47))
U1_gag(appA_out_gag(X73)) → appA_out_gag(X73)
appA_in_gag(x0, x1)
U1_gag(x0)
STARB_IN_GG(.(z0, .(z0, z2)), .(z0, .(z0, x3))) → U4_GG(z0, z0, z2, x3, appA_in_gag(z2, x3))
U4_GG(T10, T26, T27, T28, appA_out_gag(T31)) → STARB_IN_GG(.(T10, .(T26, T27)), .(T26, T28))
STARB_IN_GG(.(z0, .(z0, z2)), .(z0, .(z0, x3))) → U4_GG(z0, z0, z2, x3, appA_in_gag(z2, x3))
appA_in_gag([], T38) → appA_out_gag(T38)
appA_in_gag(.(T45, T46), .(T45, T47)) → U1_gag(appA_in_gag(T46, T47))
U1_gag(appA_out_gag(X73)) → appA_out_gag(X73)
appA_in_gag(x0, x1)
U1_gag(x0)
U4_GG(z0, z0, z1, z2, appA_out_gag(x4)) → STARB_IN_GG(.(z0, .(z0, z1)), .(z0, z2))
STARB_IN_GG(.(z0, .(z0, z2)), .(z0, .(z0, x3))) → U4_GG(z0, z0, z2, x3, appA_in_gag(z2, x3))
U4_GG(z0, z0, z1, z2, appA_out_gag(x4)) → STARB_IN_GG(.(z0, .(z0, z1)), .(z0, z2))
appA_in_gag([], T38) → appA_out_gag(T38)
appA_in_gag(.(T45, T46), .(T45, T47)) → U1_gag(appA_in_gag(T46, T47))
U1_gag(appA_out_gag(X73)) → appA_out_gag(X73)
appA_in_gag(x0, x1)
U1_gag(x0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
STARB_IN_GG(.(z0, .(z0, z2)), .(z0, .(z0, x3))) → U4_GG(z0, z0, z2, x3, appA_in_gag(z2, x3))
POL(.(x1, x2)) = 1 + x1 + x2
POL(STARB_IN_GG(x1, x2)) = x2
POL(U1_gag(x1)) = 0
POL(U4_GG(x1, x2, x3, x4, x5)) = 1 + x1 + x2 + x4
POL([]) = 0
POL(appA_in_gag(x1, x2)) = 0
POL(appA_out_gag(x1)) = 0
U4_GG(z0, z0, z1, z2, appA_out_gag(x4)) → STARB_IN_GG(.(z0, .(z0, z1)), .(z0, z2))
appA_in_gag([], T38) → appA_out_gag(T38)
appA_in_gag(.(T45, T46), .(T45, T47)) → U1_gag(appA_in_gag(T46, T47))
U1_gag(appA_out_gag(X73)) → appA_out_gag(X73)
appA_in_gag(x0, x1)
U1_gag(x0)
STARB_IN_GG(.(T10, []), .(T10, T17)) → STARB_IN_GG(.(T10, []), T17)
starB_in_gg(T4, []) → starB_out_gg(T4, [])
starB_in_gg(.(T10, []), .(T10, T17)) → U2_gg(T10, T17, starB_in_gg(.(T10, []), T17))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U3_gg(T10, T26, T27, T28, appA_in_gag(T27, X40, T28))
appA_in_gag([], T38, T38) → appA_out_gag([], T38, T38)
appA_in_gag(.(T45, T46), X73, .(T45, T47)) → U1_gag(T45, T46, X73, T47, appA_in_gag(T46, X73, T47))
U1_gag(T45, T46, X73, T47, appA_out_gag(T46, X73, T47)) → appA_out_gag(.(T45, T46), X73, .(T45, T47))
U3_gg(T10, T26, T27, T28, appA_out_gag(T27, X40, T28)) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
starB_in_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28))) → U4_gg(T10, T26, T27, T28, appA_in_gag(T27, T31, T28))
U4_gg(T10, T26, T27, T28, appA_out_gag(T27, T31, T28)) → U5_gg(T10, T26, T27, T28, starB_in_gg(.(T10, .(T26, T27)), .(T26, T28)))
U5_gg(T10, T26, T27, T28, starB_out_gg(.(T10, .(T26, T27)), .(T26, T28))) → starB_out_gg(.(T10, .(T26, T27)), .(T10, .(T26, T28)))
U2_gg(T10, T17, starB_out_gg(.(T10, []), T17)) → starB_out_gg(.(T10, []), .(T10, T17))
STARB_IN_GG(.(T10, []), .(T10, T17)) → STARB_IN_GG(.(T10, []), T17)
STARB_IN_GG(.(T10, []), .(T10, T17)) → STARB_IN_GG(.(T10, []), T17)
From the DPs we obtained the following set of size-change graphs: